VKYC Generic Webhook
This document outlines the details of the Video KYC Generic Webhook events.
Events Triggering the Webhook
The webhook is triggered on any of the following video-kyc events:
- When a customer schedules a Video KYC call :
VCIP_CUSTOMER_SCHEDULED - When a customer is assigned to an agent :
VCIP_CUSTOMER_ASSIGNED - When the agent notifies the customer :
VCIP_CUSTOMER_NOTIFIED - When the call is started :
VCIP_CALL_STARTED - When the call is completed (approved or declined) :
VCIP_CALL_COMPLETED - When the call is ended (incomplete) :
VCIP_CALL_ENDED
You may subscribe to any one or more of the events above, based on your requirements.
Webhook Payload
The following JSON code snippet demonstrates the Payload received from the Webhook:
{
"appId": "<app_id>",
"transactionId": "<transaction_id>",
"eventDetails": { /* Event-specific details */ },
"eventVersion": "1.0.0",
"eventType": "<event_type>",
"eventTime": "<timestamp>",
"eventId": "trn:vkyc:<uuid>"
}
Payload Details
The following table provides the details of the parameters returned in the Webhook's Payload:
| Parameter | Type | Description |
|---|---|---|
| appId | string | The unique application ID |
| transactionId | string | The unique identifier for the VKYC transaction |
| eventDetails | object | Additional details specific to the event. Will be null when not applicable |
| eventVersion | string | The version of the event payload. This will be constant: 1.0.0 |
| eventType | string | The type of event subscribed to and triggered |
| eventTime | string | The timestamp of when the event was generated |
| eventId | string | The unique identifier for the webhook event |
eventDetails Object Structure
The structure of the eventDetails object depends on the specific event type. The following sections outline the possible formats for eventDetails based on each event.
VCIP_CUSTOMER_SCHEDULED
{
"start_time": "<start_time_of_the_scheduled_slot>",
"end_time": "<end_time_of_the_scheduled_slot>"
}
VCIP_CUSTOMER_ASSIGNED
"eventDetails": null
VCIP_CUSTOMER_ASSIGNED
"eventDetails": null
VCIP_CALL_STARTED
{
"agentId": <agent Id | agent Email> //string ( agentId would be there if useAgentId is set in the client-config)
}
VCIP_CALL_COMPLETED
{
"status":"APPROVED|DECLINED", // string
"reason": <reason> | null // string (null if approved reason is not present)
"agentId": <agent Id | agent Email> //string ( agentId would be there if useAgentId is set in the client-config)
}
VCIP_CALL_ENDED
{
"status":"INCOMPLETE", // string
"reason": <reason> // string
"agentId": <agent Id | agent Email> //string ( agentId would be there if useAgentId is set in the client-config)
}